package cn.frank.framework.caesar.module.ai.ui.config;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @description: TODO
 * @author: renjiangyang
 * @date 2025/6/12 13:12:24
 * @since 1.8
 */
@Configuration
@Slf4j
@Data
public class WebMvcConfig implements WebMvcConfigurer {

    public WebMvcConfig() {
        super();
        log.info("\033[34m [caesar-module-ai-openAim3u8] loading WebAutoMvcConfig \033[0m");
    }

    /**
     * 资源文件 配置，可通过启动命令设备，这里就先注释调了
        "D:\Program Files\Java\jdk17u007\bin\java" -jar -Dfile.encoding=utf-8 caesar-ai-ui-1.0.0.jar
            --server.port=25089 --spring.profiles.active=prod
            --spring.config.location=./resources/
            --logging.config=resources/logback.xml
            --spring.web.resources.static-locations=classpath:/static/,classpath:/public/,file:./resources/static/,file:./resources/public/
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // // 外部路径（可以根据需要修改为配置化）
        // String externalStaticPath = "file:./resources/static/";
        // String externalPublicPath = "file:./resources/public/";
        //
        // // 资源访问路径（/ 代表根路径访问，例如 /index.html）
        // registry.addResourceHandler("/**")
        //         .addResourceLocations(
        //                 // classpath 路径：JAR 内 static 和 public
        //                 "classpath:/static/",
        //                 "classpath:/public/",
        //                 // 外部文件系统路径：JAR 外 static 和 public
        //                 externalStaticPath,
        //                 externalPublicPath
        //         )
        //         .setCachePeriod(0); // 可选：设置缓存秒数，0 表示不缓存（开发调试时建议）
        //
        // log.info("资源映射路径注册成功，支持：classpath:/static/, classpath:/public/, {} 和 {}", externalStaticPath, externalPublicPath);
    }
}
